TOP

Импорт курсов валют с сайта НБУ в LibreOffice Calc

NBU_RATE() Описание

Готовая функция для тех, кому часто приходится использовать курсы валют НБУ в LibreOffice Calc .

Помогает автоматически получать значение курса валюты с сайта НБУ по ее коду и дате.


StarBASIC код для функции NBU_RATE

Чтобы добавить функцию импорта курсов валют НБУ , откройте меню Tools - Macros - Edit Macros... , выберите Module1 и скопируйте следующий текст в этот модуль:

Function NBU_RATE(ByVal pCurrency, ByVal pDate)
  'moonexcel.com.ua 
  Dim FCalc As Object
  
  If Len(pCurrency) = 0 Or Len(pDate) = 0 Then Exit Function             
      
  FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
  
  tDate = FCalc.callFunction("TEXT", Array(pDate,"YYYYMMDD"))
                                                    
  RequestString = "https://bank.gov.ua/NBU_Exchange/exchange_site?start=" & tDate & "&end=" & tDate & "&valcode=" & pCurrency
            
  WebServiceResponse = FCalc.callFunction("WEBSERVICE", Array(RequestString))  
  
  NBU_RATE = FCalc.callFunction("FILTERXML", Array(WebServiceResponse,"//rate_per_unit"))    
End Function

Закройте Macro Editor и вернитесь в LibreOffice Calc .

Теперь Вы можете вручную ввести нашу функцию NBU_RATE() . Синтаксис этой функции таков:

=NBU_RATE ( код валюты ; дата )

У нас будет такой результат:

Использование расширения

Вы также можете воспользоваться функцией NBUA() установив бесплатное расширение YouLibreCalc.oxt или его полнофункциональную версию YLC_Utilities.oxt .

После этого данная функция будет доступна во всех файлах, которые будут открыты в LibreOffice Calc.